Global Navigation Satellite Systems (GNSS) include the Global Positioning System (GPS), Glonass, and the proposed Galileo system.
Each GPS satellite transmits continuously using two radio frequencies in the L-band, referred to as L1 and L2, at respective frequencies of 1575.42 MHz and 1227.60 MHz. Two signals are transmitted on L1, one for civil users and the other for Department of Defense (DoD) authorized users. One signal is transmitted on L2, intended only for DoD authorized users. Each GPS signal has a carrier at the L1 or L2 frequency, pseudo-random noise (PRN) codes, and satellite navigation data. Two different PRN codes are transmitted by each satellite: a coarse/acquisition (C/A) code and a precision (P/Y code) which is encrypted. Each C/A code is a unique sequence of 1023 bits, which is repeated each millisecond.
FIG. 1 schematically illustrates a typical prior-art two-carrier-frequency scenario. Receiver 100 receives GPS signals from any number of satellites in view, such as SV1, SV2 and SVm, shown respectively at 110, 120 and 130. The signals pass through the earth's atmosphere (ionosphere and troposphere), shown schematically at 140. Each signal has two frequencies, L1 and L2. Receiver 100 determines from the signals a respective pseudo-range, PR1, PR2, PRm, to each of the satellites. Atmospheric and multipath effects cause variations in the signal path, as indicated schematically at 150, which distort the pseudo-range determinations.
As the C/A code can be measured with an error of about one meter, a civil receiver not using the military-only P/Y code determines position with an error in the range of meters. However, the phase of the L1 and L2 carriers can be measured with an accuracy of 0.01-0.05 cycle (2 mm-1 cm), so relative positions can be more precisely estimated with errors in the range of millimeters to centimeters. Techniques for precise positioning employ L1 and L2 carrier phase and integer ambiguity resolution, a widely researched area of precise satellite positioning.
Many techniques have been developed to reliably and rapidly determine the cycle ambiguity in carrier phase signals observed by satellite positioning equipment. Ambiguity resolution techniques normally involve the use of unambiguous code observations, and observations on multiple satellites to reduce the potential carrier phase ambiguities until a decision can be made to accept a single candidate. Observations of coherently-generated carrier phase signals further enhances the speed and reliability of ambiguity resolution.
The process of ambiguity resolution encompasses three steps:                1. Estimation of approximate values for the ambiguity on each satellite and carrier-phase band,        2. Statistical search over the potential ambiguity candidates to find an ordered list of the best candidates, and        3. Validation of the top ambiguity candidate.        
Obtaining good ambiguity estimates greatly reduces the effort required for statistical search and validation.
The classical approach to estimation of the carrier phase ambiguities is to construct a global filter (estimator) that includes states (unknown parameters) for:                1. Rover station coordinates (x, y, z),        2. Carrier phase ambiguity terms for each satellite and each carrier frequency band,        3. Nuisance parameters for the ionospheric bias (one per satellite),        4. Clock and residual tropospheric bias parameters (although these states are often ignored when double differencing of observations is used).        
FIG. 2 shows such a prior-art solution in which all ambiguities for all observed satellites and both frequencies are estimated using a single, large state vector. Raw GPS data 200 for L1 and L2 observations of multiple satellites is prepared at 210 and supplied as a prepared data set 220 to a global Kalman filter 230. Filter 230 supplies ambiguity estimates for the L1 and L2 observations.
Currently with the Global Positioning System (GPS), up to 12 satellites can be tracked above a user's local horizon at once. Each GPS satellite transmits on two carrier frequencies. Hence the number of states that must be updated in the filter equals, for example, 41:                3 rover coordinate states (x, y, z)        12*2 ambiguity states (for dual-frequency phase observations),        12 ionospheric bias parameters,        1 clock and 1 tropospheric bias state.        
The number of floating point operations for updating an n-state Kalman filter equals approximately n3 (M. GREWAL et al., KALMAN FILTERING: THEORY AND PRACTICE USING MATLAB, second edition, 2001, John Wiley & Sons, New York, ISBN: 0-471-39254-5).
Hence, for computational speed and efficiency it is desirable to minimize the number of states included in a single Kalman filter.
Once the European Galileo satellite system becomes available, up to 30 satellites (nSat=30) may be available at once. The Galileo satellites are expected to transmit on three, or possibly four, carrier frequencies. With GPS modernization, three carrier frequencies (nFreq=3) will be available. See, for example, K. DE JONG, Future GPS and Galileo Signals, GEOINFORMATICS, September 2002 (two pages); G. HEIN et al., Galileo Frequency & Signal Design, GPS WORLD, June 2003, pp. 30-37; S. CLIATT, GPS Modernization, PROCEEDINGS OF THE GNSS 2003, Apr. 22-25 2003, Graz Austria. If data from two reference stations (nRef=2) for three carrier frequencies are processed at once, then the number of states that would need to be updated in a single-filter may equal, for example:3+(nSat*nFreq*nRef)+(nSat*nRef)+(3*nRef)=249 states
Even with expected enhancements to embedded computer power, it is quite possible that the computational burden of a single filter will be too great. For many applications, such as real-time position determination, it is critical to obtain a reliable estimate within a given time interval, such as once per epoch of data. Moreover, increased processing generally means increased power consumption in receiver equipment, which is an important consideration for some types of equipment such battery-powered, portable units.
One approach to reducing the computational burden of a large filtering problem is to use decentralized filters. However, mathematical approaches for decentralized Kalman filtering as proposed by N. Carlson, Federated Square Root Filter for Decentralized Parallel Processing, IEEE Transactions on Aerospace and Electronic Systems, Vol. AES-26, No. 3, May 1990, do not address the intricacies of applying the technique to carrier-phase ambiguity resolution problems.
Though decentralized filtering has been used in the past in control systems and estimation problems, and in carrier-phase ambiguity resolution for the existing two-frequency GPS signals, there is a need for techniques which will address future GNSS systems having three or more frequencies, such as Galileo and modernized GPS.
Code and carrier phase have been used in satellite-by-satellite filters. R. Hatch proposed using L1/L2 narrow-lane code in combination with the wide-lane, dual-frequency carrier phase combination. See R. HATCH, The synergism of GPS code and carrier phase ambiguities, PROCEEDINGS OF THE 3RD INTERNATIONAL GEODETIC SYMPOSIUM ON SATELLITE DOPPLER POSITIONING, Las Cruces, N. Mex., February 1982, Vol. 2, pp 1213-1232, and P. MISRA et al., GLOBAL POSITIONING SYSTEM: SIGNALS, MEASUREMENTS, AND PERFORMANCE, GANJA-JAMUNA PRESS, 2001, pp. 230-233.
Minimum-error phase combination is also known, in which measurement noise is balanced against ionospheric bias in a minimum error sense. Detailed theory for deriving the minimum error phase combination is found in L. SJÖBERG, The best linear combinations of L1 and L2 frequency observables in the application of Transit/Doppler and GPS, MANUSCRIPTA GEODETICA 15, 1990, pp. 17-22.
FIG. 3 shows a prior-art solution for processing of the current two-carrier GPS signal data, as implemented for post-processing of two-frequency data in products of Trimble Navigation Limited having software package TTC 2.7. Receiver 300 supplies a GPS signal data set 305 having observations of L1 and L2 for multiple satellites. A process 310 computes coefficients 315 from GPS signal data set 305. GPS signal data set 305 and coefficients 315 are supplied to three filter processes: a geometry filter process 320, a geometry-free ionosphere filter process 330, and a geometry-free and ionosphere-free code filter process 340. Geometry filter process 320 uses a geometry carrier-phase combination to obtain an array 325 of ambiguity estimates for the geometry carrier-phase combination and associated statistical information. Ionosphere filter process 330 uses a geometry-free ionosphere carrier-phase combination to obtain an array 335 of ambiguity estimates for the ionosphere carrier-phase combination and associated statistical information. Code filter process 340 uses geometry-free and ionosphere-free code-carrier combinations to obtain an array 345 of ambiguity estimates for the geometry-free and ionosphere-free code-carrier combinations and associated statistical information. Arrays 325, 335 and 345 are supplied to a combining process 350 to obtain an array 355 of ambiguity estimates for all carrier-phase observations and associated statistical information. Array 355 is supplied to a float-solution computation process 360 to compute a position 365. Code filter 340 is a single, wide-lane filter which includes multipath modeling but does not include noise modeling. This prior-art solution is not suited to GNSS with three or more carrier frequencies, such as Galileo.
FIG. 4 schematically illustrates a three-carrier-frequency scenario, such as proposed for Galileo and for modernized GPS. Receiver 400 receives GNSS signals from any number of satellites in view, such as SV1, SV2 and SVm, shown respectively at 410, 420 and 430. The signals pass through the earth's atmosphere, shown schematically at 440. Each signal has three or more frequencies, f1, f2, . . . fk. Receiver 400 determines from the signals a respective pseudo-range, PR1, PR2, PRm, to each of the satellites. Atmospheric and multipath effects cause variations in the signal path, as indicated schematically at 450, which distort the pseudo-range determinations.
FIG. 5 shows a prior-art solution intended for the proposed Galileo system with three carrier frequencies. Receiver 500 supplies a Galileo signal data set 505 having observations of three carriers for multiple satellites. A process 510 computes coefficients 515 from Galileo signal data set 505. Galileo signal data set 505 and coefficients 515 are supplied to two filter processes: a geometry filter process 520 and a single bank of geometry-free filter processes 530. Geometry filter process 520 uses a geometry carrier-phase combination to obtain an array 525 of ambiguity estimates for the geometry carrier-phase combination and associated statistical information. The single bank of geometry-free filter processes 530 employs a geometry-free filter per satellite, producing for all geometry-free information a single output array 535 of ambiguity estimates for the geometry-free combinations and associated statistical information. Arrays 525 and 535 are supplied to a combining process 540 to obtain an array 545 of ambiguity estimates for all carrier-phase observations and associated statistical information. Array 545 is supplied to a computation process 550 to compute a fixed position 555 using integer least squares, validation, and position computation. Details of the geometry-free filters are found in Laboratory Experiment On Carrier Phase Positioning Techniques for GNSS-2 (TCAR-Test), Technical Note WP 2100: Use of Physical Space Information, ESA/ESTEC Contract No. 12.406/77/NL/DS Rider 1, a Confidential Report of Spectra Precision Terrasat GmbH dated December 1999. A deficiency of this proposed approach to three-carrier ambiguity resolution (TCAR) is that all errors are handled as noise, making it computationally less efficient than desired and producing ambiguity estimates which are worse than desired.
Improved methods and systems are needed for ambiguity resolution of GNSS signals having three or more carriers.